package com.linxiao.call.domain;


import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 【外呼通话记录实体】对象 crm_out_call_cdr
 * 
 * @author qiqi
 * @date 2022-04-08
 */
public class CrmOutCallCdr extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 座席工号 */
    @Excel(name = "座席工号")
    private String cdrCno;

    /** 企业ID */
//    @Excel(name = "企业ID")
    private String cdrEnterpriseId;

    /** $column.columnComment */
    private String cdrMainUniqueId;

    /** 虚拟小号 */
//    @Excel(name = "虚拟小号")
    private String cdrXNumber;

    /** 客户号码 */
//    @Excel(name = "客户号码")
    private String cdrCustomerNumber;

    /** 客户号码所属区号 */
//    @Excel(name = "客户号码所属区号")
    private String cdrCustomerAreaCode;

    /** 客户号码所属城市 */
//    @Excel(name = "客户号码所属城市")
    private String cdrCustomerCity;

    /** 客户号码所属省份 */
//    @Excel(name = "客户号码所属省份")
    private String cdrCustomerProvince;

    /** 客户号码类型 */
//    @Excel(name = "客户号码类型")
    private String cdrCustomerNumberType;

    /** 呼叫状态，取值说明：30 座席未接听; 31 座席接听,未呼叫客户; 32 座席接听,客户未接听; 33 双方接听; */
//    @Excel(name = "呼叫状态，取值说明：30 座席未接听; 31 座席接听,未呼叫客户; 32 座席接听,客户未接听; 33 双方接听;")
    private Long cdrStatus;

    /** 呼叫类型，4 预览外呼,6 主叫外呼,9 内部呼叫 */
//    @Excel(name = "呼叫类型，4 预览外呼,6 主叫外呼,9 内部呼叫")
    private Long cdrCallType;

    /** 座席发起外呼时间 */
//    @Excel(name = "座席发起外呼时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Long cdrStartTime;

    /** 客户振铃时间 */
//    @Excel(name = "客户振铃时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Long calleeRingingTime;

    /** 外呼客户接听时间 */
//    @Excel(name = "外呼客户接听时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Long cdrBridgeTime;

    /** 外呼座席接听时间 */
//    @Excel(name = "外呼座席接听时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Long cdrAnswerTime;

    /** 外呼挂机时间 */
//    @Excel(name = "外呼挂机时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Long cdrEndTime;

    /** 通话请求id */
//    @Excel(name = "通话请求id")
    private String cdrRequestUniqueId;

    /** 录音文件名称 */
//    @Excel(name = "录音文件名称")
    private String cdrRecordFile1;

    /** 挂机原因，取值说明：1000 主通道挂机; 1001 非主通道挂机; 1002 被强拆 */
//    @Excel(name = "挂机原因，取值说明：1000 主通道挂机; 1001 非主通道挂机; 1002 被强拆")
    private String cdrEndReason;

    /** 外呼双方接听时长 */
//    @Excel(name = "外呼双方接听时长", width = 30, dateFormat = "yyyy-MM-dd")
    private String  cdrEndTimeCdrBridgeTime;

    /** 座席绑定电话 */
//    @Excel(name = "座席绑定电话")
    private String cdrAgentNumber;

    /** 座席绑定电话类型:1:电话,2:分机,3:软电话 */
//    @Excel(name = "座席绑定电话类型:1:电话,2:分机,3:软电话")
    private String cdrAgentNumberType;

    /** 客户侧外显号码 */
//    @Excel(name = "客户侧外显号码")
    private String custCalleeClid;

    /** 座席侧外显号码 */
//    @Excel(name = "座席侧外显号码")
    private String cdrClid;

    /** 客户侧外显号码 */
//    @Excel(name = "客户侧外显号码")
    private String previewOutcallLeftClid;

    /** 座席所属座席组 */
//    @Excel(name = "座席所属座席组")
    private String cdrGno;

    /** 号码状态识别结果 710:忙 711:超时 712:拒接 713:空号 714:关机 715:暂时无法接听 716:停机 */
//    @Excel(name = "号码状态识别结果 710:忙 711:超时 712:拒接 713:空号 714:关机 715:暂时无法接听 716:停机")
    private String cdrDetailSipCause;

    /** 满意度调查开始时间，如果没有进行满意度调查值为0 */
//    @Excel(name = "满意度调查开始时间，如果没有进行满意度调查值为0")
    private String cdrInvestigation;

    /** 开始时间 */
    @Excel(name = "开始时间")
    private String startTime;

    /** Cos 通话录音文件地址 */
    @Excel(name = "录音地址")
    private String cosRecordUrl;

    /** crmId */
    private String crmId;

    /** 二级部门所在id */
    private Long mchId;

    /** 员工所在部门id */
    private Long deptId;
    /** Long类型的主键id 返回前端会自动转换 存在问题 转字符串解决 */
    private transient String cdrId;
    /** 通话备注 */
    private transient String comment;

    /** 通话备注类型 */
    private transient String commentType;
    /** 通话备注ID*/
    private transient Long commentId;

    /** 部门名称 */
    private transient String deptName;

    /** 销售名称 */
    private transient String nickName;

    /** 客户名称 */
    private transient String customerName;

    /**订单号*/
    private transient String orderId;

    /**渠道订单号*/
    private transient String coopOrderID;
    /*** 文件大小 */
    private int fileSize;
    /*** 用戶id */
    private Long userId;
    /*** 手机号脱敏字段 */
    private String mobileHidden;
    /**
     * RTC外呼携带的主体
     */
    private transient String corpId;
    /**
     * RTC外呼携带的成员ID
     */
    private transient String corpUserId;

    public String getCorpId() {
        return corpId;
    }

    public void setCorpId(String corpId) {
        this.corpId = corpId;
    }

    public String getCorpUserId() {
        return corpUserId;
    }

    public void setCorpUserId(String corpUserId) {
        this.corpUserId = corpUserId;
    }

    public String getOrderId() {
        return orderId;
    }

    public void setOrderId(String orderId) {
        this.orderId = orderId;
    }

    public String getCoopOrderID() {
        return coopOrderID;
    }

    public void setCoopOrderID(String coopOrderID) {
        this.coopOrderID = coopOrderID;
    }

    public Long getCommentId() {
        return commentId;
    }

    public void setCommentId(Long commentId) {
        this.commentId = commentId;
    }

    public String getCommentType() {
        return commentType;
    }

    public void setCommentType(String commentType) {
        this.commentType = commentType;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    public String getComment() {
        return comment;
    }

    public void setComment(String comment) {
        this.comment = comment;
    }

    public String getMobileHidden() {
        return mobileHidden;
    }

    public void setMobileHidden(String mobileHidden) {
        this.mobileHidden = mobileHidden;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public int getFileSize() {
        return fileSize;
    }

    public void setFileSize(int fileSize) {
        this.fileSize = fileSize;
    }

    public String getCdrId() {
        return cdrId;
    }

    public void setCdrId(String cdrId) {
        this.cdrId = cdrId;
    }

    public String getCosRecordUrl() {
        return cosRecordUrl;
    }

    public void setCosRecordUrl(String cosRecordUrl) {
        this.cosRecordUrl = cosRecordUrl;
    }

    public String getCrmId() {
        return crmId;
    }

    public void setCrmId(String crmId) {
        this.crmId = crmId;
    }

    public Long getMchId() {
        return mchId;
    }

    public void setMchId(Long mchId) {
        this.mchId = mchId;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getCdrCno() {
        return cdrCno;
    }

    public void setCdrCno(String cdrCno) {
        this.cdrCno = cdrCno;
    }

    public String getCdrEnterpriseId() {
        return cdrEnterpriseId;
    }

    public void setCdrEnterpriseId(String cdrEnterpriseId) {
        this.cdrEnterpriseId = cdrEnterpriseId;
    }

    public String getCdrMainUniqueId() {
        return cdrMainUniqueId;
    }

    public void setCdrMainUniqueId(String cdrMainUniqueId) {
        this.cdrMainUniqueId = cdrMainUniqueId;
    }

    public String getCdrXNumber() {
        return cdrXNumber;
    }

    public void setCdrXNumber(String cdrXNumber) {
        this.cdrXNumber = cdrXNumber;
    }

    public String getCdrCustomerNumber() {
        return cdrCustomerNumber;
    }

    public void setCdrCustomerNumber(String cdrCustomerNumber) {
        this.cdrCustomerNumber = cdrCustomerNumber;
    }

    public String getCdrCustomerAreaCode() {
        return cdrCustomerAreaCode;
    }

    public void setCdrCustomerAreaCode(String cdrCustomerAreaCode) {
        this.cdrCustomerAreaCode = cdrCustomerAreaCode;
    }

    public String getCdrCustomerCity() {
        return cdrCustomerCity;
    }

    public void setCdrCustomerCity(String cdrCustomerCity) {
        this.cdrCustomerCity = cdrCustomerCity;
    }

    public String getCdrCustomerProvince() {
        return cdrCustomerProvince;
    }

    public void setCdrCustomerProvince(String cdrCustomerProvince) {
        this.cdrCustomerProvince = cdrCustomerProvince;
    }

    public String getCdrCustomerNumberType() {
        return cdrCustomerNumberType;
    }

    public void setCdrCustomerNumberType(String cdrCustomerNumberType) {
        this.cdrCustomerNumberType = cdrCustomerNumberType;
    }

    public Long getCdrStatus() {
        return cdrStatus;
    }

    public void setCdrStatus(Long cdrStatus) {
        this.cdrStatus = cdrStatus;
    }

    public Long getCdrCallType() {
        return cdrCallType;
    }

    public void setCdrCallType(Long cdrCallType) {
        this.cdrCallType = cdrCallType;
    }

    public Long getCdrStartTime() {
        return cdrStartTime;
    }

    public void setCdrStartTime(Long cdrStartTime) {
        this.cdrStartTime = cdrStartTime;
    }

    public Long getCalleeRingingTime() {
        return calleeRingingTime;
    }

    public void setCalleeRingingTime(Long calleeRingingTime) {
        this.calleeRingingTime = calleeRingingTime;
    }

    public Long getCdrBridgeTime() {
        return cdrBridgeTime;
    }

    public void setCdrBridgeTime(Long cdrBridgeTime) {
        this.cdrBridgeTime = cdrBridgeTime;
    }

    public Long getCdrAnswerTime() {
        return cdrAnswerTime;
    }

    public void setCdrAnswerTime(Long cdrAnswerTime) {
        this.cdrAnswerTime = cdrAnswerTime;
    }

    public Long getCdrEndTime() {
        return cdrEndTime;
    }

    public void setCdrEndTime(Long cdrEndTime) {
        this.cdrEndTime = cdrEndTime;
    }

    public String getCdrRequestUniqueId() {
        return cdrRequestUniqueId;
    }

    public void setCdrRequestUniqueId(String cdrRequestUniqueId) {
        this.cdrRequestUniqueId = cdrRequestUniqueId;
    }

    public String getCdrRecordFile1() {
        return cdrRecordFile1;
    }

    public void setCdrRecordFile1(String cdrRecordFile1) {
        this.cdrRecordFile1 = cdrRecordFile1;
    }

    public String getCdrEndReason() {
        return cdrEndReason;
    }

    public void setCdrEndReason(String cdrEndReason) {
        this.cdrEndReason = cdrEndReason;
    }

    public String getCdrEndTimeCdrBridgeTime() {
        return cdrEndTimeCdrBridgeTime;
    }

    public void setCdrEndTimeCdrBridgeTime(String cdrEndTimeCdrBridgeTime) {
        this.cdrEndTimeCdrBridgeTime = cdrEndTimeCdrBridgeTime;
    }

    public String getCdrAgentNumber() {
        return cdrAgentNumber;
    }

    public void setCdrAgentNumber(String cdrAgentNumber) {
        this.cdrAgentNumber = cdrAgentNumber;
    }

    public String getCdrAgentNumberType() {
        return cdrAgentNumberType;
    }

    public void setCdrAgentNumberType(String cdrAgentNumberType) {
        this.cdrAgentNumberType = cdrAgentNumberType;
    }

    public String getCustCalleeClid() {
        return custCalleeClid;
    }

    public void setCustCalleeClid(String custCalleeClid) {
        this.custCalleeClid = custCalleeClid;
    }

    public String getCdrClid() {
        return cdrClid;
    }

    public void setCdrClid(String cdrClid) {
        this.cdrClid = cdrClid;
    }

    public String getPreviewOutcallLeftClid() {
        return previewOutcallLeftClid;
    }

    public void setPreviewOutcallLeftClid(String previewOutcallLeftClid) {
        this.previewOutcallLeftClid = previewOutcallLeftClid;
    }

    public String getCdrGno() {
        return cdrGno;
    }

    public void setCdrGno(String cdrGno) {
        this.cdrGno = cdrGno;
    }

    public String getCdrDetailSipCause() {
        return cdrDetailSipCause;
    }

    public void setCdrDetailSipCause(String cdrDetailSipCause) {
        this.cdrDetailSipCause = cdrDetailSipCause;
    }

    public String getCdrInvestigation() {
        return cdrInvestigation;
    }

    public void setCdrInvestigation(String cdrInvestigation) {
        this.cdrInvestigation = cdrInvestigation;
    }

    public String getStartTime() {
        return startTime;
    }

    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }


	@Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("cdrCno", getCdrCno())
            .append("cdrEnterpriseId", getCdrEnterpriseId())
            .append("cdrMainUniqueId", getCdrMainUniqueId())
            .append("cdrXNumber", getCdrXNumber())
            .append("cdrCustomerNumber", getCdrCustomerNumber())
            .append("cdrCustomerAreaCode", getCdrCustomerAreaCode())
            .append("cdrCustomerCity", getCdrCustomerCity())
            .append("cdrCustomerProvince", getCdrCustomerProvince())
            .append("cdrCustomerNumberType", getCdrCustomerNumberType())
            .append("cdrStatus", getCdrStatus())
            .append("cdrCallType", getCdrCallType())
            .append("cdrStartTime", getCdrStartTime())
            .append("calleeRingingTime", getCalleeRingingTime())
            .append("cdrBridgeTime", getCdrBridgeTime())
            .append("cdrAnswerTime", getCdrAnswerTime())
            .append("cdrEndTime", getCdrEndTime())
            .append("cdrRequestUniqueId", getCdrRequestUniqueId())
            .append("cdrRecordFile1", getCdrRecordFile1())
            .append("cdrEndReason", getCdrEndReason())
            .append("cdrEndTimeCdrBridgeTime", getCdrEndTimeCdrBridgeTime())
            .append("cdrAgentNumber", getCdrAgentNumber())
            .append("cdrAgentNumberType", getCdrAgentNumberType())
            .append("custCalleeClid", getCustCalleeClid())
            .append("cdrClid", getCdrClid())
            .append("previewOutcallLeftClid", getPreviewOutcallLeftClid())
            .append("cdrGno", getCdrGno())
            .append("cdrDetailSipCause", getCdrDetailSipCause())
            .append("cdrInvestigation", getCdrInvestigation())
            .append("startTime", getStartTime())
            .append("cosRecordUrl", getCosRecordUrl())
            .append("crmId", getCrmId())
            .append("mchId", getMchId())
            .append("deptId", getDeptId())
            .toString();
    }
}
